package vq.codec.managers;

import java.util.List;

import vq.codec.entities.Dat;
import vq.codec.entities.Dictionary;

public abstract class VQFileManager {
	
	public static VQFileManager getInstance() {
		return VQFileManagerImpl.getInstance();
	}
	
	public abstract Dat loadSourceFile(int quantizatorDimension, String filePath);
	
	public abstract Dictionary loadDictionaryFile(String filePath);
	
	public abstract List<Integer> loadEncodedFile(String filePath);
	
	public abstract Dat loadDatFile(String filePath);
	
	public abstract void generateEncodedFile(List<Integer> encoded, String filePath);
	
	public abstract void generateDatFile(Dat dat, String filePath);
	
	public abstract void generatePgmFile(Dat dat, String filePath);
	
}
